//package com.ruoyi.ftrl.io.server;
//
//import com.ruoyi.ftrl.io.domain.SendPacket;
//import org.springframework.data.redis.connection.Message;
//import org.springframework.data.redis.connection.MessageListener;
//import org.springframework.data.redis.listener.ChannelTopic;
//import org.springframework.data.redis.listener.RedisMessageListenerContainer;
//import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
//import org.springframework.stereotype.Component;
//import org.springframework.stereotype.Service;
//import org.tio.core.Tio;
//
//import java.nio.charset.StandardCharsets;
//@Service
//@Component
//public class RedisMessageSubscriber implements MessageListener {
//
//
//
//    // 自动重连和重新订阅逻辑
//    public void subscribe(RedisMessageListenerContainer container, String channel) {
//        try {
//            container.addMessageListener(new MessageListenerAdapter(this), new ChannelTopic(channel));
//        } catch (Exception e) {
//            System.err.println("Error subscribing to channel: " + e.getMessage());
//            // 处理异常，可能需要重试
//        }
//    }
//    @Override
//    public void onMessage(Message message, byte[] pattern) {
//        // 获取消息内容
//        String messageBody = new String(message.getBody(), StandardCharsets.UTF_8);
//        // 输出到控制台
//        System.out.println("Received message(监听到频道号------students------的消息为) " + messageBody);
//        System.out.println("-------"+new String(pattern, StandardCharsets.UTF_8)+"---------");
//        //
//
//        if (messageBody.equals("heartbeat")){
//            System.out.println(" 心跳= " + "心跳");
//        }else {
//            if (!messageBody.equals("")) {
//                SendPacket sendPacket = new SendPacket();
//                sendPacket.setBody(messageBody);
//                String sid = messageBody.substring(18, 20) + messageBody.substring(16, 18);
//                String s = String.valueOf(Integer.parseInt(sid, 16));
//                // int i = Integer.parseInt(messageBody.substring(20, 22), 16);
//                //String s2 = String.valueOf(Integer.parseInt(sid2, 16));
//                //messageBody.substring()
//                //tioConfig
////            TioConfig tioConfig = tioConfig.tioServer()oConfig;
//                Tio.sendToUser(TioConfig.tioServerConfig, s, sendPacket);
//                System.out.println("发送的编号 = " + s);
//            }
//
//        }
//    }
//}
